草庐IT

Android::Extending MapActivity => classNotFound 异常

全部标签

c# - 从 IEnumerable 转换为 IEnumerable<object>

我更喜欢使用IEnumerable,因为LINQ扩展方法在其上定义,而不是IEnumerable,这样我就可以使用,例如,range.Skip(2).但是,我也更喜欢使用IEnumerable,对于T[]可隐式转换为IEnumerable是否T是引用类型还是值类型。对于后一种情况,不涉及拳击,这很好。结果,我可以做到IEnumerablerange=new[]{1,2,3}.将两个世界的优点结合起来似乎是不可能的。反正我选择安家IEnumerable并在我需要应用LINQ方法时进行某种转换。来自thisSO线程,我开始知道range.Cast()能够胜任这项工作。但它会产生性能开销,我

c# - 堆栈展开时嵌套异步方法中的堆栈溢出异常

我们有很多嵌套的异步方法,看到了我们并不真正理解的行为。以这个简单的C#控制台应用程序为例publicclassProgram{staticvoidMain(string[]args){try{varx=Test(index:0,max:int.Parse(args[0]),throwException:bool.Parse(args[1])).GetAwaiter().GetResult();Console.WriteLine(x);}catch(Exceptionex){Console.WriteLine(ex);}Console.ReadKey();}staticasyncTas

c# - Silverlight Rest 服务,安全异常

我试图让Silverlight与快速示例应用程序一起工作,并在另一台计算机上调用休息服务。具有其余服务的服务器有一个clientaccesspolicy.xml,如下所示:并且正在被拾取(至少根据我运行的网络跟踪),并且没有对crossdomain.xml的请求。C#代码如下所示:publicPage(){InitializeComponent();stringrestUrl="http://example.com/rest_service.html?action=test_result";WebClienttestService=newWebClient();testService.

C#:如何实现 IOrderedEnumerable<T>

我想实现一些不同的算法来练习,只是为了看看我到底有多糟糕,然后变得更好:p无论如何,我想我会尝试使用IEnumerable和IOrderedEnumerable和其他.Net集合类型只是为了兼容(这样我写的东西以后可以更容易地使用)。但我找不到返回IOrderedEnumerable实例的方法除了使用OrderBy和ThenBy扩展方法。所以我想我必须创建自己的类来实现这个接口(interface)。但老实说,这个界面对我来说不太有意义。可能是,但我不确定。我创建了一个空类,添加了接口(interface),然后让ReSharper为我添加空实现。它看起来像这样:classMyOrde

c# - 奇怪的 Queue<T>.Enqueue(T item) 代码

在使用ILSpy进行反射时,我在Queue.Enqueue(Titem)中找到了这行代码-方法:if(this._size==this._array.Length){intnum=(int)((long)this._array.Length*200L/100L);if(num我只是想知道为什么有人会这样做?我认为这是某种整数溢出检查,但为什么要先乘以200L然后除以100L?这可能是早期编译器的问题吗? 最佳答案 通常先乘以再除以100是百分比计算-也许在原始代码中有一些constXxxPercentage=200或类似的东西。编译

c# - 如何记录异步方法的异常?

带有XML文档的示例方法://summaryandparamtagsareherewhenyou'renotlooking.//////isnull.///publicvoidWrite(stringtext){if(text==null)thrownewArgumentNullException("text","Textmustnotbenull.");//syncstuff...}Write(null)按预期抛出异常。这是一个异步方法:publicasyncTaskWriteAsync(stringtext){if(text==null)thrownewArgumentNullEx

c# - 无效的转换异常泛型

我遇到了这个问题,我正在使用反射从类中提取属性,但问题是反射将它们作为对象返回,而我无法将其放入我的实际类型中。举个例子,如果这是类:publicclassRow{publicstaticexplicitoperatorRow(Rowo){returnnewRow{Name=o.Name,Value=o.Value};}publicstringName{get;set;}publicTValue{get;set;}}类型转换自一说Row至Row作品:vara=newRow{Name="Foo",Value=true};varb=(Row)a;//Works但是当我尝试从object开始

c# - 返回 Task 的方法应该抛出异常吗?

返回Task的方法有两个报告错误的选项:立即抛出异常返回将异常结束的任务调用者是否应该期望两种类型的错误报告,或者是否有一些标准/协议(protocol)将任务行为限制为第二种选择?例子:classPageChecker{TaskCheckWebPage(stringurl){if(url==null)//ArgumentcheckthrowException("BadURL");//Someothersynchronouscheckif(!HostPinger.IsHostOnline(url))throwException("Hostisdown");returnTask.Fact

c# - 处理 ViewModel/Model 中的致命异常

我有一个使用M-V-VM方法编写的应用程序。数据访问在模型中完成。如果此处发生fatalerror(例如,与数据源的连接丢失),则抛出Exception。此异常冒泡到ViewModel。但是,因为数据访问的原始触发器是数据绑定(bind),WPF吞下了这个异常(它只在应用程序在调试器下运行时记录在输出窗口中)。我宁愿这个异常保持未处理状态,这样我的应用程序范围内的未处理异常处理程序就可以拾取它、记录它并优雅地退出。我怎样才能做到这一点? 最佳答案 您可以在调度程序上对异常抛出操作进行排队。//Thispropertyisconnec

c# - 为什么在通用序列创建器上使用 Func<> 比使用 new() 约束快得多

考虑以下代码...在我对Windows7x64PC(Inteli73GHz)上的RELEASE(不是调试!)x86构建的测试中,我获得了以下结果:CreateSequence()withnew()took00:00:00.9158071CreateSequence()withcreator()took00:00:00.1383482CreateSequence()withnew()took00:00:00.9198317CreateSequence()withcreator()took00:00:00.1372920CreateSequence()withnew()took00:00: